A conventional telecommunications network comprises network equipment, called routers, the function of which is to transmit packets. The transmission of a packet from one item of equipment to another item of equipment in the network can generally be carried out over several paths. In such a context, the routers select, according to determined criteria, the best transmission path among various possible transmission paths. A router thus selects a transmission path on the basis of information which is generally received according to a routing protocol and stored in routing tables.
A routing protocol supplies mechanisms to the routers of a network for sharing routing information between them via sessions specific to the routing protocol and, as a result, allowing routing tables that are consistent with each other to be constructed.
Several routing protocols exist.
A routing protocol called BGP (Border Gateway Protocol) ensures consistency of Internet routing. It is defined by the IETF (Internet Engineering Task Force).
An Internet network is made up of a set of autonomous networks or autonomous systems (Aas) which are interconnected. An autonomous network is a set of routers operating under a single technical administration, using an IGP (Interior Gateway Protocol) type interior routing protocol, for example IS-IS (Intermediate System to Intermediate System) or the OSPF (Open Shortest Path First) protocol, and common routing information to route the packets inside the autonomous system. Moreover, such routers use an exterior routing protocol, such as for example the BGP-4 protocol in the Internet, to route packets to other autonomous systems. Thus, two routers in the same AS can exchange routing information via sessions according to the BGP-4 protocol, in this case called iBGP, and routers of two respective different Aas can exchange routing information via sessions according to the BGP-4 protocol, in this case called eBGP.
The exchanges of information carried out via sessions according to the BGP protocol provide for obtaining, at each router of an AS, information on all the border routers, or exit routers, through which the traffic can exit the AS to a destination outside the AS. The BGP protocol then tries to associate the best exit router possible with each router of the network. However, it is to be noted that in practice, it is not always capable of knowing the best exit router.
To implement such exchanges of information according to BGP within an AS, an “iBGP full mesh” topology, as defined in RFC 4271 (RFC: Request For Comment), can be constructed in an AS. In this case, each router of the same AS establishes an iBGP session with each other router of the AS. The set of routers of the AS is therefore fully meshed by iBGP sessions. FIG. 1 illustrates such an implementation of BGP within an AS 11 in which each router x, b, c, d and e is connected with all the others via respective iBGP sessions 13, these routers x-e being furthermore connected via eBGP sessions 12 to other routers located within other ASs.
For an AS comprising a number N of routers, each router establishes (N−1) iBGP sessions and the AS comprises a total number of N*(N−1)/2 iBGP sessions. Such an implementation implies that the number of sessions increases very rapidly with the number of BGP routers present in the AS, since this number of sessions is a function of the square of the number of routers. Moreover, the configuration of a new router in the AS imposes the configuration of each of the routers of the AS, which can be complex and burdensome to administer. Furthermore, a router can establish only a limited number of BGP sessions.
According to another implementation called “iBGP route reflector”, as defined in the document RFC 4456, provision is made for centralizing the iBGP distribution of routes on specific routers referred to as RRs (Route Reflectors). Here, each router of the AS establishes an iBGP session with an RR, or preferably two RRs in order to be protected from a possible failure of an RR. The RR function can also be distributed over several routers. FIG. 2 illustrates such an implementation. The AS 11 comprises the routers x, b-e. A distinction is drawn between route-reflector routers 22 and client routers 23. Sessions according to the iBGP protocol 21 are then established between each RR router and its client routers. Unlike a conventional iBGP router, an RR can rebroadcast iBGP routes. It can thus rebroadcast:                the iBGP routes that it learns through its client routers; and        the routes learnt through iBGP at its client routers.        
Lastly, an RR can also be a client router of another RR and thus form a hierarchy of RRs.
But in the context of the latter implementation, the choice of specific RR routers in the AS is not easy and a poor choice can be a source of various drawbacks such as, in particular, the creation of routing loops. Furthermore, an RR selects and distributes only one route, and such a restriction can be to the detriment of BGP routing performance.
Provision can also be made for implementing in a partitioned manner, either an iBGP full mesh implementation as illustrated in FIG. 1, or a route reflector implementation as illustrated in FIG. 2. To this end, provision is made to partition the AS in question into a plurality of sub-ASs, referred to as “BGP confederations”, and to set up one of the two implementations illustrated in FIGS. 1 and 2 within each sub-AS.
FIG. 3 illustrates such a setup of the iBGP full mesh implementation in a partitioning context.
The autonomous system 11 is partitioned into a first confederation 31 comprising the routers d and e, and a second confederation 32 comprising the routers x, b and c. The iBGP sessions 13 are then established in a full-mesh manner within each confederation 31 and 32.
The iBGP full mesh setup in such a partitioning context provides for limiting the rapid increase in the number of sessions as a function of the number of routers, but does not provide for solving this problem completely. Moreover, the implementation of iBGP route reflector within a sub-AS does not provide for solving the problems associated with this setup.
Furthermore, this partitioning requires determining a number of sub-Aas and defining their borders, which can prove to be complex.